package com.tiancheng.trade.settlement.service.settlement;

import com.tiancheng.trade.settlement.exception.BusinessException;
import com.tiancheng.trade.settlement.model.settlement.StatementCost;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;

public interface IStatementCostService {

    /**
     * 报表类型 1成本 2成本差异 3无合同 4补签合同
     * 按时间查询收入成本报表
     *
     * @param date
     * @return
     */
    List<StatementCost> getStatementCostList(String date, String costType) throws BusinessException;

    /**
     * 报表类型 1成本 2成本差异 3无合同 4补签合同
     * 更新生成收入成本报表
     *
     * @param date
     * @return
     * @throws BusinessException
     */
    int updateStatementCost(String date, String costType) throws BusinessException;

    /**
     * 收入成本报表生成PDF文件
     *
     * @param date
     * @param costType
     * @return
     */
    void statementCostPdf(String date, String costType, HttpServletRequest request, HttpServletResponse response) throws Exception;

}
